﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Fuse8.ContentManagementFramework.Domain;
using Fuse8.ContentManagementFramework.SystemFacade.Workflow;
using Fuse8.DomainFramework.ValidationService;

namespace Fuse8.ContentManagementFramework.BizFacade.Workflow
{
    public interface ICmsWorkflowValidationService<in TEntity, in TKey> 
        where TEntity : class, IWorkflowEntityObject<TKey>
        where TKey : IComparable<TKey>, IEquatable<TKey>
    {
        ValidationResult Validate(TEntity entity, CmsWorkflowStateTransition transition);
    }
}
